public class Solution {

    public List<List<Integer>> multiply(List<List<Integer>> A, List<List<Integer>> B) {
        int m = A.size(), n = B.size(), p = B.get(0).size();
        List<List<Integer>> C = new ArrayList<List<Integer>>();
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                int numA = A.get(i).get(j);
                if (numA != 0)
                    for (int k = 0; k < p; k++) {
                        int numB = B.get(j).get(k);
                        int numC = C.get(i).get(k);
                        numC += numA * numB;
                        C.get(i).set(k, numC);
                    }
            }
        }
        return C;
    }
}